[% setvar title The Perl 6 Summary for the week ending 2005-09-25 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the week ending 2005-09-25'></a><h1>The Perl 6 Summary for the week ending 2005-09-25</h1>
<p>Hello all. It's another Monday afternoon, which means I'm writing another
summary. There's no cricket to distract me this week, so I'm letting iTunes
Party Shuffle attempt to distract me instead.</p>
<a name='This week in perl6-compiler'></a><h1>This week in perl6-compiler</h1>
<p>Nobody said anything on the list this week. I blame IRC.</p>
<a name='Meanwhile, in perl6-internals'></a><h1>Meanwhile, in perl6-internals</h1>
<a name='About multithreading'></a><h2>About multithreading</h2>
<p>Leo pointed everyone at an article about about 'A Fundamental Turn Toward
Concurrency in Software'. Jonathan Worthington liked it.</p>
<p><a href='http://www.gotw.ca/publications/concurrency-ddj.htm' target='_blank'>www.gotw.ca</a></p>
<a name='Bug Wrangling'></a><h2>Bug Wrangling</h2>
<p>It's possibly a failing of mine as a summary writer, but I've not been following
Parrot's RT traffic. Luckily, Joshua Hoblitt has volunteered as a Bug Wrangler
and he's hoping to increase the signal/noise ratio. To that end, he'll be
pinging people who reported bugs that are older than 3 or 4 months to find out
if they're still current or can be closed. It sounds like a mammoth task in the
short term, but it also sounds like a very useful project that'll get easier
once the big house cleaning has been done.</p>
<p>He hinted that this is the sort of project that <i>really</i> benefits from having
more than one volunteer doing the work.</p>
<p>Later in the week, he posted a bunch of IMCC TODOs.</p>
<p><a href='http://groups.google.com/groups?threadm=20050920100259.GD19008@ifa.hawaii.edu' target='_blank'>groups.google.com</a></p>
<a name='Tcl, exceptions in leo-ctx5'></a><h2>Tcl, exceptions in leo-ctx5</h2>
<p>Andy Dougherty posted some more details about a bug in ParTcl when running
under Leo's branch. The bug seems to depend on whether there's a  slash in the
script path passed to ParTcl. There was no response, but hopefully work
continues on fixing it.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.SOC.4.62.0509201152220.13507@maxwell.phys.lafayette.edu' target='_blank'>groups.google.com</a></p>
<a name='[RFC] Debug Segment, HLL Debug segment and Source Segment'></a><h2>[RFC] Debug Segment, HLL Debug segment and Source Segment</h2>
<p>Jonathan Worthington posted a discussion of how debugging segments could work
in Parrot in the future. He outlined a suggested unified debug segment format
that should work for both PASM/PIR and high level language debugging
requirements.</p>
<p>Roger Browne applauded Jonathan's efforts and made some further suggestions.</p>
<p>And then the thread got Warnocked.</p>
<p><a href='http://groups.google.com/groups?threadm=00f301c5be36$00c30760$0300a8c0@SERVER' target='_blank'>groups.google.com</a></p>
<a name='Magic is useless unless verifiable'></a><h2>Magic is useless unless verifiable</h2>
<p>Jonathan Worthington posted a discussion about how Parrot bytecode files should
handle their magic number. At present, apparently, Parrot checks the magic
number only after it's tried to work out word size and bytecode. Which is
somewhat bass ackward. After some discussion, Chip reckoned that the solution
would be to have a magic string rather than a magic number.</p>
<p><a href='http://groups.google.com/groups?threadm=014b01c5be99$6c5c28e0$0d00000a@jwcsjw' target='_blank'>groups.google.com</a></p>
<a name='loadlib and libraries with '.' in the name'></a><h2><code>loadlib</code> and libraries with '.' in the name</h2>
<p>Ross McFarland found a problem with <code>loadlib</code>. Apparently it won't let you
load a library that has a '.' in the name. It turns out that fixing things
robustly isn't quite as straightforward as it at first appears. Discussion
ensued.</p>
<p>Ross posted a patch to RT.</p>
<p><a href='http://groups.google.com/groups?threadm=324955B8-337B-497A-99D7-31D6DED544F2@neces.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=rt-3.0.11-37258-121354.8.58782975674799@perl.org' target='_blank'>groups.google.com</a></p>
<a name='Find copied and pasted code'></a><h2>Find copied and pasted code</h2>
<p>That gentleman of great intelligence, sagacity, wit and annoying
capitalization; the one and only chromatic wondered what running PMD's copy and
paste detector plugin on Parrot's .c files would show. If anyone has run it
yet, they haven't reported on its findings, but it surely won't be long now.</p>
<p><a href='http://pmd.sf.net/cpd.html' target='_blank'>pmd.sf.net</a></p>
<p><a href='http://groups.google.com/groups?threadm=1127505124.11523.206.camel@localhost' target='_blank'>groups.google.com</a></p>
<a name='Amber's Ashes Announced'></a><h2>Amber's Ashes Announced</h2>
<p>Roger Browne announced the release of Amber for Parrot version 0.2.3a
(Ashes). According to the announcement, Amber's a Eiffel like scripting
language for Parrot. Joe Bob says &quot;Check it out!&quot;</p>
<p><a href='http://xamber.org/index.html' target='_blank'>xamber.org</a></p>
<p><a href='http://groups.google.com/groups?threadm=1127596043.14556.13.camel@eiffel.demon.co.uk' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='\(...)'></a><h2><code>\(...)</code></h2>
<p>Oh look, a thread in p6l that's still going more than a fortnight later. How
unusual. This particular instance of the form is nominally about the behaviour
of <code>\($a, $b)</code> but various subthreads have drifted onto discussions of context
in general and meaningful whitespace. So far there has been no discussion of
the return value of <code>Pin.head.contents.grep -&gt; Angel $a {$a.is_dancing}</code>
but I'm sure it's only a matter of time.</p>
<p><a href='http://groups.google.com/groups?threadm=20050907160543.GD10174@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Junctions, patterns and fmap again'></a><h2>Junctions, patterns and fmap again</h2>
<p>Luke continued to discuss Junctions and fmap with Stuart Cook.</p>
<p><a href='http://groups.google.com/groups?threadm=49b3510605091922004c98fa24@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='Conditional wrapper blocks'></a><h2>Conditional wrapper blocks</h2>
<p>Yuval Kogman discussed the inelegance of code that reads like:</p>
<pre>  if $condition { pre }

  unconditional midsection; 

  if $condition { post }</pre>
<p>And proposed a possible syntax that could be implemented in a macro. I confess
that I would be taking this thread more seriously if, when I was writing this
summary I had been able to come up with a realistic example of code that had
this problem.</p>
<p>Anyhoo, it sparked a good deal of discussion.</p>
<p><a href='http://groups.google.com/groups?threadm=20050920173315.GE5797@woobling.org' target='_blank'>groups.google.com</a></p>
<a name='Object Model Pictures'></a><h2>Object Model Pictures</h2>
<p>Stevan Little's ongoing development of the Perl 6 MetaModel continues to yield
pictures. This week he incorporated Roles into the bigger picture.</p>
<p><a href='http://groups.google.com/groups?threadm=70195C89-65E4-4E1A-8E97-FF9007E42EA1@iinteractive.com' target='_blank'>groups.google.com</a></p>
<a name='~ and + vs. generic eq'></a><h2><code>~</code> and <code>+</code> vs. generic eq</h2>
<p>In another thread that spilled over from a fortnight ago, Thomas Sandlass and
Yuval Kogman continued to discuss equality, equivalence and multiple
dispatch. There are worse ways of spending the day.</p>
<p><a href='http://groups.google.com/groups?threadm=433149B0.3090705@orthogon.com' target='_blank'>groups.google.com</a></p>
<a name='Sort of 'do it once' feature request...'></a><h2>Sort of 'do it once' feature request...</h2>
<p>Michele Dondi asked for some way of stopping evaluating a conditional after it
had evaluated to true once. None of the people who replied seemed to realise
that <code>..</code> and <code>...</code> do exactly that (and a little bit more).</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.62.0508031015360.11320@spock.pcteor1.mi.infn.it' target='_blank'>groups.google.com</a></p>
<a name='Stringification, numification and booleanification'></a><h2>Stringification, numification and booleanification</h2>
<p>The thread on 'Stringification, numification and booleanification' is this
weeks &quot;Thread most likely to still be going in a month's time&quot; award winner.</p>
<p>It started so simply, with Ingo Blechschmidt asking about the *-ification of
Pairs. And then it exploded. Most recently it's been discussing the difference
between <code>~$thing</code> and <code>&quot;$thing&quot;</code>, but it's covered an awful lot of ground. My
gut feeling is that default stringification should be in a form that's useful
to a developer when debugging, but there's arguments to be had in all
directions.</p>
<p><a href='http://groups.google.com/groups?threadm=loom.20050921T164009-963@post.gmane.org' target='_blank'>groups.google.com</a></p>
<a name='Skippable arguments in for loops'></a><h2>Skippable arguments in for loops</h2>
<p>Carl Mäsak reported that hcchien on irc had asked about looping through an array
n elements at a time, discarding some. He wondered if</p>
<pre>  for @a -&gt; undef, $x, $y {...}</pre>
<p>would do the trick.</p>
<p>Luke Palmer thought that</p>
<pre>  for @a -&gt; _, $x, $y {...}</pre>
<p>Would be better because, in a multimethod, using <code>undef</code> in the way suggested
means &quot;this value must be undef&quot;. This being p6l, there were opinions on both
sides. However, <code>$Luke ~~ @Larry</code> so I think his opinion carries the most
weight.</p>
<p><a href='http://groups.google.com/groups?threadm=16d769b705092123436dc01c99@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='pause/cont'></a><h2>pause/cont</h2>
<p>Juerd had a moment of clarity and unified a couple of earlier threads (on
conditional wrappers and doing it once) by proposing a pair of keywords,
<code>pause</code> and <code>cont</code>. The semantics are weird, but oh so powerful. And
because I don't want to simply copy and paste his entire post, I suggest you
simply go and read it.</p>
<p><a href='http://groups.google.com/groups?threadm=20050922115515.GW24163@c4.convolution.nl' target='_blank'>groups.google.com</a></p>
<a name='.chars, .bytes, etc..'></a><h2><code>.chars</code>, <code>.bytes</code>, etc..</h2>
<p>Wolverian said that the current way of defining <code>.chars</code>, <code>.bytes</code> and
<code>.elems</code> didn't make any sense to him. In particular, he thought that, in a
list context they might be better returning the list of things rather than a
simple count of them. Juerd agreed.</p>
<p><a href='http://groups.google.com/groups?threadm=20050924104500.GA7880@sci.fi' target='_blank'>groups.google.com</a></p>
<a name='k, v'></a><h2><code>k</code>, <code>v</code></h2>
<p>In a Huffman inspired moment, Juerd wondered if we shouldn't abbreviate <code>keys</code>
and <code>key</code> to <code>k</code> and <code>values</code> and <code>value</code> to <code>v</code>. Uri Guttman thought that
having single names for things like that wasn't a desperately good idea. Juerd
was convinced.</p>
<p>Are you?</p>
<p><a href='http://groups.google.com/groups?threadm=20050924131116.GI24163@c4.convolution.nl' target='_blank'>groups.google.com</a></p>
<a name='Exceptuations'></a><h2>Exceptuations</h2>
<p>A resumable continuation by any other name would smell as sweet. Yuval Kogman
coined a new word for them: 'Exceptuations', being a mashup of Exception and
Continuation. He also outlined a how one would use them. I'm pretty sure we've
discussed this stuff before, but there's always a chance that new light will
fall on the subject.</p>
<p><a href='http://groups.google.com/groups?threadm=20050925142818.GT5797@woobling.org' target='_blank'>groups.google.com</a></p>
<a name='Allomopherencing'></a><h2>Allomopherencing</h2>
<p>Not satisfied with inventing Exceptuations, Yuval invented Allomopherencing as
well. Just don't ask me what it means because I don't know. I might as well
have been reading Derrida in the original Klingon as Yuval's post an it's
ensuing thread. Follow the link, if you understand it, could you write up a
summary and send it to me? Thanks. You're a star.</p>
<p><a href='http://groups.google.com/groups?threadm=20050925172906.GA26154@woobling.org' target='_blank'>groups.google.com</a></p>
<a name='Elsewhere'></a><h1>Elsewhere</h1>
<a name='@Larry talks amongst itself'></a><h2><code>@Larry</code> talks amongst itself</h2>
<p>Luke Palmer continues to post minutes from the weekly Perl 6 conference
calls. I'm not going to summarize because it's already rather terse, and I'm
not going to cut and paste either, because although it's terse, it's
surprisingly long. Luke's promised to post these to his blog weekly. With any
luck we'll remember to link to them here as well.</p>
<p><a href='http://use.perl.org/~luqui/journal/26826' target='_blank'>use.perl.org</a></p>
<a name='Acknowledgements, apologies and everything else'></a><h1>Acknowledgements, apologies and everything else</h1>
<p>So, I'm looking for work again. If you need a somewhat rusty perl programmer, a
vaguely competent technical writer with a portfolio consisting pretty much
solely of the back issues of this summary, a half-decent photographer or an
inexperienced Ruby programmer, none of whom are prepared to travel too far from
Gateshead, you know who to ask.</p>
<a name='Help Chip'></a><h2>Help Chip</h2>
<p><a href='http://geeksunite.org/' target='_blank'>geeksunite.org</a> -- Chip still needs help.</p>
<a name='The usual coda'></a><h2>The usual coda</h2>
<p>If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl.</p>
<p><a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> -- The Perl Foundation</p>
<p><a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> -- Perl 6 Development site</p>
<p>Check out my website, it's lovely.</p>
<p><a href='http://www.bofh.org.uk/' target='_blank'>www.bofh.org.uk</a></p>
<p>Vaguely pretty photos by me can be found at:</p>
<p><a href='http://www.flickr.com/photos/pdcawley' target='_blank'>www.flickr.com</a></p>
</div>
